Traditional backup systems may periodically create a full backup by capturing all allocated blocks (e.g., sectors or clusters) of a volume. Between full backups, a backup system may capture intermediate backups, referred to as incremental backups, that include blocks that have changed since the previous incremental or full backup. An incremental backup may be orders of magnitude smaller and faster than a full backup. Because of the relative efficiency of incremental backups, many enterprises would prefer to take only incremental backups after an initial base backup (a feature referred to as infinite incrementals).
Unfortunately, some traditional backup technologies are not designed to effectively deal with long (or even short) chains of incremental backups. For example, some traditional backup systems may restore a volume (or any other backed-up entity) by opening and reading each backup in the entire chain of backups, including each incremental backup and a base backup (i.e., a full backup). An administrator may not be able to delete any of the backups until none of the backups in the chain are needed for possible restoration.
As an alternative to long chains of incremental backups, synthetic full backups may be created at an intermediate point in a backup chain to allow older points in the chain to be deleted and to keep chain lengths short enough for efficient restoration. However, synthetic full backup creation may involve significant back-end processing (typically on a media server) and may increase the number of objects that are managed. Deduplication software may provide an interface that significantly lowers the cost of synthetic full backup creation by specifying how to reassemble portions of existing backups into a synthetic backup.
Deduplication software may break up each backup in segments with a fingerprint for each segment. The deduplication software may reassemble the synthetic backup by manipulating fingerprints rather than reading all of the specified segment data and writing it back in the new file. Some backup systems may create virtual synthetic backups (i.e., synthetic backups that are created using a more efficient process than is traditionally used to create synthetic backups). However, the creation of virtual synthetic backups may involve some backend processing and add complexity to backup management. Conventional backup systems may not be able to handle this additional processing.